package com.LeetCode.Year.November.th12;

class Solution {
    public static int countkConstraintSubstrings(String s, int k) {
        char[] str = s.toCharArray();
        int ans = 0;
        int start = 0;
        int[] cnt ={0,0};
        //用于计数0，1的个数
        for(int i = 0; i<str.length;i++){
            cnt[str[i]&1]++;
            //记录0，1的个数
            while(cnt[0] >k && cnt[1]>k){
                //进行判断：如果超过则将左指针前进1，并且个数减一
                cnt[str[start]&1]--;
                //因为左指针前进1，故对应的值也要减一
                //将左指针前进1
                start++;
            }
            //包含的值内，使用
            ans+=i-start+1;
        }
        return ans;
    }


    public static void main(String[] args) {
        System.out.println(countkConstraintSubstrings("10101", 1));
    }
}
